package com.tanhua.server.interceptor;

import com.tanhua.domain.db.User;

/**
 * threadLocal的工具类: 完成对象的用户存储
 * 一个请求执行的所有方法 ,都可以从线程上面获得对象,对象是同一个对象
 * 1.定义threadLocal对象
 * 2.完成方法.完成threadLocal的数据绑定,从threadLocal获取数据
 */
public class UserHolder {
    private static ThreadLocal<User> tl=new ThreadLocal<>();

    //向当前线程绑定数据user
    public static void save(User user){
        tl.set(user);
    }
    //从当前线程中获取user
    public static User getUser(){
        return tl.get();
    }

    //获取当前对象的Id
    public static Long getUserId(){
        return tl.get().getId();
    }
}
